package com.lin.missyou.dto.validators;

import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.*;

/**
 * Created by GuoChengQian on 2021/10/6 11:03
 */
// 被javadoc文档扫描大
@Documented
// 哪一个级别可用
//     RetentionPolicy.SOURCE-------------注解将被编译器丢弃
//     RetentionPolicy.CLASS -------------注解在class文件中可用，但会被VM丢弃
//     RetentionPolicy.RUNTIME ---------VM将在运行期也保留注释，因此可以通过反射机制读取注解的信息。
@Retention(RetentionPolicy.RUNTIME)
// 该注解用在什么地方
@Target({ElementType.TYPE})
// 指定实现类 可以有多个
@Constraint(validatedBy = PasswordValidator.class)
public @interface PasswordEqual {
    int min() default 4;
    int max() default 6;
    String message() default "password are not equal";
    Class<?>[] groups() default {};
    Class<? extends Payload>[] payload() default{};
}
